The present invention relates to an image processor and an image processing method that correct image deformation using coordinate conversion. Description of the Related Art
In recent years, camera systems have been developed in which images taken by the fisheye lens of a rearview camera to enable the driver to see what is behind the vehicle are processed to correct distortion stemming from the fisheye lens or subjected to image deformation based on viewpoint switching to obtain an overhead image, thereby providing vehicle drivers with images easy to view (for example, Japanese Patent Application Publication Nos. JP-2009-177703-A and JP-2010-81479-A).
In this type of camera system, part of an image is cut out and the part of the image output by the camera is enlarged to achieve the capability described above by correction. Therefore, to express details of the enlarged image, use of high-definition cameras having one megapixels or more have come to be demanded in recent years.
However, high-definition cameras have problems with the access speed and capacity of the memory used as the frame buffer.
With regard to the access speed, random access to the frame buffer memory address is required for coordinate conversion. In addition, the throughput of DRAMs, etc. for use in the frame buffer is large for a burst read in which sequential addresses are read but decreases drastically in the case of random access. Therefore, read speed is too slow for high-definition images, thereby making it impossible to continue coordinate conversion. Furthermore, to conduct coordinate conversion for high-definition images, interpolating between pixels is required. In interpolation, for output of a single pixel, reading data for two (for interpolation only in the horizontal direction) or four (for both horizontal and vertical interpolation) pixels around that single pixel is required, and with a significantly high throughput.
Furthermore, with regard to the capacity of the memory, to store the data obtained by a high-definition camera, a memory having a relatively large capacity is required in comparison with a low-definition camera. For example, just for storing each piece of RGB 8-bit data using a camera having around one megapixels, the capacity required is somewhere around the following:
VGA (0.3 M pixels): 640×480×24 (RGB)×two faces (double buffer)=14.7 Mbits.
WVGA (0.1 M pixels): 1,280×800×24 (RGB)×two faces (double buffer)=49.2 Mbits.
In an effort to solve this problem, for example, JP-2008-61172-A describes a technique of processing the data to be stored in the frame buffer. However, the capacity required is still around two-thirds that calculated, which is not a sufficient reduction for a camera having a capacity on the order of megapixels. As a result, use of expensive RAMs having a large capacity is required.